하트위키
최근 변경
최근 토론
임의 문서
도구
최근 변경
AI코딩 준비 서비스/최수지님
(r43 문단 편집)
[오류!]
편집 권한이 부족합니다. 로그인된 사용자(이)여야 합니다. 해당 문서의
ACL 탭
을 확인하시기 바랍니다.
닫기
RAW 편집
=== ⭐ Q2. 환경 설정 + 빌드 + 실행 (2차) === 1. BE (teatime_backend_learning) * 주요 언어 / 프레임워크: Java 17, Spring Boot 3.5.3, Gradle 8.7, MariaDB/JPA * 주요 의존성: Spring Security, WebSocket, WebFlux, Quartz, Actuator, Caffeine Cache, JJWT, AWS S3 SDK, Firebase Admin, Web Push, springdoc Swagger * 설정 파일 위치 및 핵심 항목: build.gradle, application.yml * 위치: /build.gradle, src/main/resources/application-dev.yml * 설정 파일 별 핵심 항목 * build.gradle * Spring Boot 버전: 3.5.3 * Java: 17 * 앱 버전: 3.3.5.learning * mainClass: castis.TeaTimeBackEndApplication * 커밋/푸시 전 patch version 올려야 함 * application-dev.yml * 서버 포트: 9093 * DB: MariaDB, jdbc:mariadb://.../ims * JPA: ddl-auto: validate, open-in-view: false * JWT secret/useJwt * 업로드/로그 경로: /app/uploads, /app/logs * CBank API URL * Kakao/CoolSMS 설정 * AWS S3 bucket/region * Messenger VAPID/FCM * OpenAI API key: OPENAI_API_KEY_DEV 또는 OPENAI_API_KEY * SecurityConfig.java * CORS 허용 origin * /login, /api/** CORS * JWT 필터/permitAll 경로 * WebSocketConfig.java (line 17) * Messenger WebSocket path: /ws/messenger * 허용 origin: 운영/테스트/localhost 8082, 8083 * 빌드 방법: > /teatime_backend_learning/gradlew clean build * 테스트 제외 빌드 > ./gradlew clean build -x test * 실행 방법: > cd /Users/suji/workspace/source/teatime_backend_learning > SPRING_PROFILES_ACTIVE=dev ./gradlew bootRun * 접속: http://localhost:9093 * 연결되어야 하는 외부 시스템: * MariaDB 테스트 DB * CBank API: OTP, transfer, account info, login, history * Kakao 알림톡/CoolSMS/Nurigo * AWS S3 * Firebase Admin SDK, FCM credentials * Web Push VAPID * Google Calendar holiday API * Google Maps API, FE 출퇴근 지도 * SMTP: gwsmtp.ktbizoffice.com * OpenAI API, skill suggestion * ✨ 자주 까먹는 설정: * BE는 application-dev.yml 기준이라 SPRING_PROFILES_ACTIVE=dev가 중요합니다. * BE 실제 포트는 9093인데 Dockerfile.dev (line 45)는 9092를 expose/healthcheck로 보고 있어 불일치가 있습니다. * 커밋/푸시 전 build.gradle (line 9) patch version 증가 규칙이 있습니다. * DB 스키마 자동 변경은 꺼져 있습니다: ddl-auto: validate. * Spring Boot 3라서 javax 말고 jakarta API를 써야 합니다. * 일반 사용자 조회는 UserRepository 직접 주입보다 UserService 경유가 원칙입니다. 2. FE (teatime-next-tx_learning) * 주요 언어 / 프레임워크: TypeScript, Next.js 14.2.5, React 18.3, MUI 5, Axios, SWR, Node 20.x, Yarn 1.22.22 * 설정 파일 위치 및 핵심 항목: package.json * package.json * yarn dev: Next dev server, port 8082 * yarn build: production build * yarn start: production start, port 8082 * Node: 20.x * package manager: yarn@1.22.22 * next.config.mjs (line 1) * trailingSlash: true * BUILD_STATIC_EXPORT: false * NEXT_PUBLIC_APP_VERSION package version 주입 * SVG는 @svgr/webpack 사용 - 위치: * 빌드 방법: > cd /Users/suji/workspace/source/teatime-next-ts_learning > yarn install > yarn build * 실행 방법: > cd /Users/suji/workspace/source/teatime-next-ts_learning > yarn dev * 접속: http://localhost:8082 * 운영 빌드 실행: > yarn build > yarn start * 연결되어야 하는 외부 시스템: * FE 옵션성 연동: Auth0, Supabase, AWS Amplify, Mapbox, AI chat bot URL * ✨ 자주 까먹는 설정: * FE는 NEXT_PUBLIC_SERVER_URL=http://localhost:9093 없으면 Axios baseURL이 빈 값이 됩니다. * FE 포트를 바꾸면 BE CORS와 WebSocket allowed origins도 같이 확인해야 합니다.
Liberty
|
the tree